Skip to content

[SYCL] Provide _invalid_parameter symbol in device code on Windows #18400

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 26 commits into from
May 13, 2025

Conversation

ianayl
Copy link
Contributor

@ianayl ianayl commented May 10, 2025

Provides a fix for #18426: Provides symbols necessary for std::array to work in device code in debug mode on Windows.

@ianayl ianayl temporarily deployed to WindowsCILock May 10, 2025 18:52 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock May 10, 2025 19:16 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock May 10, 2025 19:16 — with GitHub Actions Inactive
@ianayl ianayl marked this pull request as ready for review May 12, 2025 02:51
@ianayl ianayl requested a review from a team as a code owner May 12, 2025 02:51
@ianayl ianayl requested a review from cperkinsintel May 12, 2025 02:51
Copy link
Contributor

@aelovikov-intel aelovikov-intel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a test that would be failing without this PR.

@ianayl
Copy link
Contributor Author

ianayl commented May 12, 2025

Accompanying test-only PR in #18426

@ianayl ianayl temporarily deployed to WindowsCILock May 12, 2025 20:43 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock May 12, 2025 21:04 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock May 12, 2025 21:04 — with GitHub Actions Inactive
aelovikov-intel pushed a commit that referenced this pull request May 12, 2025
…ce code on Windows (#18426)

This PR is meant to accompany #18400:
It demonstrates that we currently have compile issues with MSVC when
using `std::array` in device code on windows.
@aelovikov-intel aelovikov-intel changed the title [SYCL] Add STL wrapper for corecrt.h and define _invalid_parameter as SYCL_EXTERNAL [SYCL] Add stl_wrappers/corecrt.h to provide _invalid_parameter in device code May 12, 2025
@ianayl ianayl temporarily deployed to WindowsCILock May 13, 2025 01:21 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock May 13, 2025 01:44 — with GitHub Actions Inactive
@ianayl ianayl temporarily deployed to WindowsCILock May 13, 2025 01:44 — with GitHub Actions Inactive
@ianayl
Copy link
Contributor Author

ianayl commented May 13, 2025

@intel/llvm-gatekeepers PR should be ready for merge, failures are unrelated to changes. Thanks!

@ianayl
Copy link
Contributor Author

ianayl commented May 13, 2025

@intel/llvm-gatekeepers friendly ping

@kbenzie
Copy link
Contributor

kbenzie commented May 13, 2025

@intel/llvm-gatekeepers PR should be ready for merge, failures are unrelated to changes. Thanks!

In future when there are test failures like this please check for the test names in the issue list and link to relevant issues in the comment which tags the gatekeepers to justify why the failed checks are be ignored.

For example there is #18416 to track the failures you have here.

Doing this will make gatekeeper job easier. Thanks.

@kbenzie kbenzie merged commit 570f74d into intel:sycl May 13, 2025
34 of 37 checks passed
@sarnex
Copy link
Contributor

sarnex commented May 13, 2025

@ianayl @aelovikov-intel It looks like the std::array test is failing in Gen12 Win postcommit after this PR, can you take a look? Thx

https://github.com/intel/llvm/actions/runs/14999424550/job/42152662548

FAIL: SYCL :: Basic/std_array.cpp (407 of 2364)
******************** TEST 'SYCL :: Basic/std_array.cpp' FAILED ********************
Exit Code: 3221225477

Command Output (stdout):
--
# RUN: at line 5
D:/github/_work/llvm/llvm/install/bin/clang++.exe  -Werror --driver-mode=cl -fsycl -o D:\github\_work\llvm\llvm\build-e2e\Basic\Output\std_array.cpp.tmp.exe D:\github\_work\llvm\llvm\llvm\sycl\test-e2e\Basic\std_array.cpp /Od /MDd /Zi /EHsc
# executed command: D:/github/_work/llvm/llvm/install/bin/clang++.exe -Werror --driver-mode=cl -fsycl -o 'D:\github\_work\llvm\llvm\build-e2e\Basic\Output\std_array.cpp.tmp.exe' 'D:\github\_work\llvm\llvm\llvm\sycl\test-e2e\Basic\std_array.cpp' /Od /MDd /Zi /EHsc
# RUN: at line 6
env ONEAPI_DEVICE_SELECTOR=level_zero:gpu  D:\github\_work\llvm\llvm\build-e2e\Basic\Output\std_array.cpp.tmp.exe
# executed command: env ONEAPI_DEVICE_SELECTOR=level_zero:gpu 'D:\github\_work\llvm\llvm\build-e2e\Basic\Output\std_array.cpp.tmp.exe'
# note: command had no output on stdout or stderr
# error: command failed with exit status: 0xc0000005

--

********************

@kbenzie
Copy link
Contributor

kbenzie commented May 14, 2025

I've created #18458 to track this issue and will XFAIL the test.

kbenzie added a commit to kbenzie/intel-llvm that referenced this pull request May 14, 2025
kbenzie added a commit to kbenzie/intel-llvm that referenced this pull request May 14, 2025
kbenzie added a commit that referenced this pull request May 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants